package com.chukun.interview.leetcode;

/**
 * @author chukun
 * @version 1.0.0
 * @description 计算x的整数幂
 * @createTime 2023年05月15日 23:40:00
 */
public class PowProblem {

    public static void main(String[] args) {

        System.out.println(powCalculate(2, 10));

    }


    /**
     * 实现 pow(x, n) ，即计算 x 的整数 n 次幂函数
     * @param x
     * @param n
     * @return
     */
    private static double powCalculate(double x, int n) {
        if (n == 0) {
            return 1d;
        }
        double v = powCalculate(x, n / 2);
        if (n % 2 == 0) {
            return v * v;
        } else {
            return v * v * x;
        }
    }

}
